package datastruct.dict.inter;

//type Dict interface {
//        Get(key string) (val interface{}, exists bool)
//        Len() int
//        Put(key string, val interface{}) (result int)
//        PutIfAbsent(key string, val interface{}) (result int)
//        PutIfExists(key string, val interface{}) (result int)
//        Remove(key string) (result int)
//        ForEach(consumer Consumer)
//        Keys() []string
//        RandomKeys(limit int) []string
//        RandomDistinctKeys(limit int) []string
//        Clear()
//        }


public interface IDict {
    public Object get(String key);
    public int len();
    public int put(String key, Object val);
    public boolean contains(String key);
    public int putIfAbsent(String key, Object val);
    public int putIfExists(String key, Object val);
    public int remove(String key);
    public void forEach(IDictConsumer iConsumer);
    public String[] keys();
    public String[] randomKeys(int limit);
    public String[] randomDistinctKeys(int limit);
    public void clear();
    public Object[] diff(IDict[] dict);
    public Object[] union(IDict[] dicts);

}
